package com.maxlen.camunda.entity.vo;

import lombok.Data;

import java.util.Date;
import java.util.List;
import java.util.Set;

@Data
public class ProcessControlInfoVO {

    /** 审批意见 */
    private List<ApprovalComments> approvalComments;

    /** 表单数据 */
    private List<FormData> formData;

    private List<UserTask> userTasks;

    /** 表单参数 */
    private List<Variable> variables;

    /** 流程图 */
    private String bpmn;

    /** 完成节点 */
    private Set<String> finishPoint;

    /** 待完成节点 */
    private Set<String> waitPoint;

    /** 此用户完成的节点 */
    private Set<String> doPoint;

    @Data
    public static class ApprovalComments {
        /** 节点名称 */
        private String name;

        /** 处理人 */
        private String user;

        /** 结束时间 */
        private Date endTime;

        /** 处理方式 */
        private String handler;

        /** 处理意见 */
        private String resolution;
    }

    @Data
    public static class FormData {
        /** 表单名称 */
        private String formName;

        /** 表单数据 */
        private String form;
    }

    @Data
    public static class Variable {
        /** 键 */
        private String key;

        /** 值 */
        private Object value;
    }

    @Data
    public static class UserTask {
        /** 用户任务节点名称 */
        private String name;

        /** 对应的表单ID */
        private String formRef;
    }

}
